﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 工程变更单DTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class ECNDocAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public ECNDocAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
					IsAddNewVersion=true; 
		
		
		
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.Proposer != null) 
			{
				this.Proposer.DoSerializeKeyList(dict);
			}
	        	        			if (this.Org != null) 
			{
				this.Org.DoSerializeKeyList(dict);
			}
	        	        			if (this.ECNDocType != null) 
			{
				this.ECNDocType.DoSerializeKeyList(dict);
			}
	        			if (this.ChangeType != null) 
			{
				this.ChangeType.DoSerializeKeyList(dict);
			}
	        			if (this.ChangeReason != null) 
			{
				this.ChangeReason.DoSerializeKeyList(dict);
			}
	        			if (this.ECNItemDetails!=null)
			{
				foreach(ufida.u9.ait.openapi.ECNItemDetailAITDTOData objdata in this.ECNItemDetails)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public ECNDocAITDTOData(  ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData proposer  , System.String proposeDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData org  , System.Boolean isAddNewVersion  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData eCNDocType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData changeType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData changeReason  , List<ufida.u9.ait.openapi.ECNItemDetailAITDTOData> eCNItemDetails  , System.String docNo  )
		{
			initData();
			this.Proposer = proposer;
			this.ProposeDate = proposeDate;
			this.Org = org;
			this.IsAddNewVersion = isAddNewVersion;
			this.ECNDocType = eCNDocType;
			this.ChangeType = changeType;
			this.ChangeReason = changeReason;
			this.ECNItemDetails = eCNItemDetails;
			this.DocNo = docNo;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 申请人
		/// 工程变更单DTO.Misc.申请人
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_proposer ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Proposer
		{
			get	
			{	
				return m_proposer ;
			}
			set	
			{	
				m_proposer = value ;	
			}
		}
			
		

		/// <summary>
		/// 申请日期
		/// 工程变更单DTO.Misc.申请日期
		/// </summary>
		private System.String m_proposeDate ;
		[DataMember(IsRequired=false)]
		public System.String ProposeDate
		{
			get	
			{	
				return m_proposeDate ;
			}
			set	
			{	
				m_proposeDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 工程变更单DTO.Misc.组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_org ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 增加版本
		/// 工程变更单DTO.Misc.增加版本
		/// </summary>
		private System.Boolean m_isAddNewVersion ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsAddNewVersion
		{
			get	
			{	
				return m_isAddNewVersion ;
			}
			set	
			{	
				m_isAddNewVersion = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 工程变更单DTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_eCNDocType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ECNDocType
		{
			get	
			{	
				return m_eCNDocType ;
			}
			set	
			{	
				m_eCNDocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 变更类型
		/// 工程变更单DTO.Misc.变更类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_changeType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ChangeType
		{
			get	
			{	
				return m_changeType ;
			}
			set	
			{	
				m_changeType = value ;	
			}
		}
			
		

		/// <summary>
		/// 变更原因
		/// 工程变更单DTO.Misc.变更原因
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_changeReason ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ChangeReason
		{
			get	
			{	
				return m_changeReason ;
			}
			set	
			{	
				m_changeReason = value ;	
			}
		}
			
		

		/// <summary>
		/// 工程变更单明细
		/// 工程变更单DTO.Misc.工程变更单明细
		/// </summary>
		private List<ufida.u9.ait.openapi.ECNItemDetailAITDTOData> m_eCNItemDetails ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.ECNItemDetailAITDTOData> ECNItemDetails
		{
			get	
			{	
				if (m_eCNItemDetails == null )
				{
					List<ufida.u9.ait.openapi.ECNItemDetailAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.ECNItemDetailAITDTOData>() ;
					m_eCNItemDetails = n_m_list ;
				}
				return m_eCNItemDetails ;
			}
			set	
			{	
				m_eCNItemDetails = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 工程变更单DTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																		
		#endregion 
	} 	
}
